﻿using System;

namespace Accona.Remoting.Remoting
{
    [Serializable]
    public class MethodInvocationInfo
    {
        public SourceInfo SourceMetaData { get; set; }
        public Guid TargetId { get; set; }

        public Type Type { get; set; }
        public string MethodName { get; set; }
        public Type[] ParameterTypes { get; set; }
        public object[] Parameters { get; set; }

        #region Nested type: SourceInfo

        [Serializable]
        public class SourceInfo
        {
            public Guid ApplicationId { get; set; }
            public Guid CallId { get; set; }
            public string Name { get; set; }
            public bool AsynchronousCall { get; set; }
            public Guid TargetId { get; set; }
        }

        #endregion
    }
}